package com.zhentao.domain;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 
 * @TableName s_retakes_info
 */
@TableName(value ="s_retakes_info")
@Data
public class SRetakesInfo implements Serializable {
    /**
     * 补考信息的主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 请求人外键
     */
    @TableField(value = "user_id")
    private Integer userId;

    /**
     * 考试外键
     */
    @TableField(value = "examination_id")
    private Integer examinationId;

    /**
     * 补考原因
     */
    @TableField(value = "cause")
    private String cause;

    /**
     * 补考的开始时间
     */
    @TableField(value = "retakes_begin")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date retakesBegin;

    /**
     * 补考的结束时间
     */
    @TableField(value = "retakes_end")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date retakesEnd;

    /**
     * 状态（0:申请中 1：已通过  2：已驳回）
     */
    @TableField(value = "status")
    private Integer status;

    /**
     * 驳回原因
     */
    @TableField(value = "back_cause")
    private String backCause;

    /**
     * 创建时间
     */
    @TableField(value = "create_time",fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 修改时间
     */
    @TableField(value = "update_time",fill = FieldFill.UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @TableField(exist = false)
    private TUser tUser;

    @TableField(exist = false)
    private SExaminationInformation sExaminationInformation;
}